home *** CD-ROM | disk | FTP | other *** search
/ Danny Amor's Online Library / Danny Amor's Online Library - Volume 1.iso / html / faqs / faq / sgi / faq.inventor < prev    next >
Encoding:
Text File  |  1995-07-25  |  17.0 KB  |  427 lines

  1. Subject: SGI inventor Frequently Asked Questions (FAQ)
  2. Newsgroups: comp.sys.sgi.misc,comp.answers,news.answers
  3. From: sgi-faq@viz.tamu.edu (The SGI FAQ group)
  4. Date: 20 Nov 1994 07:02:11 GMT
  5.  
  6. Archive-name: sgi/faq/inventor
  7. Last-modified: Tue Nov 15 14:55:34 CST 1994
  8.  
  9.     SGI inventor Frequently Asked Questions (FAQ)
  10.  
  11. This is one of the Silicon Graphics FAQ series, which consists of:
  12.  
  13.     SGI admin FAQ - IRIX system administration
  14.     SGI apps FAQ - Applications and miscellaneous programming
  15.     SGI audio FAQ - Audio applications and programming
  16.     SGI graphics FAQ - Graphics and user environment customization
  17.     SGI hardware FAQ - Hardware
  18.     SGI Impressario FAQ - IRIS Impressario
  19.     SGI Inventor FAQ - IRIS Inventor
  20.     SGI misc FAQ - Introduction & miscellaneous information
  21.     SGI movie FAQ - Movies
  22.     SGI Performer FAQ - IRIS Performer
  23.     SGI pointer FAQ - Pointer to the other FAQs
  24.  
  25. Read the misc FAQ for information about the FAQs themselves.  Each FAQ
  26. is posted to comp.sys.sgi.misc and to the news.answers and comp.answers
  27. newsgroups (whose purpose is to store FAQs) twice per month.  If you
  28. can't find one of the FAQs with your news program, you can get it by
  29. anonymous FTP from one of these sites:
  30.  
  31.     rtfm.mit.edu:/pub/usenet/comp.sys.sgi.misc/
  32.     rtfm.mit.edu:/pub/usenet/news.answers/sgi/faq/
  33.     rtfm.mit.edu:/pub/usenet/comp.answers/sgi/faq/
  34.     viz.tamu.edu:/pub/sgi/faq/
  35.  
  36. Note that rtfm.mit.edu is home to many other FAQs and informational
  37. documents, and is a good place to look if you can't find an answer
  38. here. If you can't use FTP, send mail to mail-server@rtfm.mit.edu with
  39. the command 'send usenet/news.answers/ftp-list/faq' on a line by itself
  40. in the text, and it will send you a document describing how to FTP by
  41. mail. You can also read a hypertext version of the FAQs at
  42.  
  43.     http://www.cis.ohio-state.edu/hypertext/faq/usenet/sgi/top.html
  44.  
  45. The SGI FAQs are freely distributable and we encourage wide circulation.
  46. The contents are accurate as far as we know, but the usual disclaimers
  47. apply. Please send additions and changes to sgi-faq@viz.tamu.edu.
  48.  
  49. Topics covered in this FAQ:
  50. ---------------------------
  51.    -1- What is Open Inventor?
  52.    -2- What is IRIS Inventor?
  53.    -3- Is Inventor a format for 3D data?
  54.    -4- Can I use Inventor to create 3D objects?
  55.    -5- Is Inventor a user interface toolkit?
  56.    -6- Is there a performance cost using a software layer on top of GL?
  57.    -7- Does Inventor require C++?
  58.    -8- Does Inventor work with the GNU C++ compiler?
  59.    -9- Does Inventor have a Fortran or Ada API?
  60.   -10- Where can I get detailed, technical information on Inventor?
  61.   -11- How much does Inventor cost?
  62.   -12- How can I order Inventor software and/or documentation?
  63.   -13- How can I learn Inventor Programming?
  64.   -14- What version of Open Inventor runs on which version of IRIX?
  65.   -15- Why isn't Open Inventor available on the VGX/PI/GTX or GT?
  66.   -16- What new features are in Open Inventor that weren't in IRIS
  67.        Inventor?
  68.   -17- Will my IRIS Inventor programs stop working if I install Open
  69.        Inventor?
  70.   -18- How hard is it to port from IRIS Inventor to Open Inventor?
  71.   -19- When I compile my Inventor program, I get an error in
  72.        SoDebugError.h.
  73.   -20- What version of IRIS Inventor runs on which version of IRIX?
  74.   -21- Will I be automatically upgraded to Open Inventor if I have IRIS
  75.        Inventor?
  76.   -22- Why do I get errors compiling the Inventor sample programs?
  77.  
  78. ----------------------------------------------------------------------
  79.  
  80. Subject:    -1- What is Open Inventor?
  81. Date: 30 Apr 94 15:45:00 CDT
  82.  
  83.   Open Inventor is an object-oriented 3D toolkit offering a
  84.   comprehensive solution to interactive graphics programming problems.
  85.   It presents a programming model based on a 3D scene database that
  86.   dramatically simplifies graphics programming. It includes a rich set
  87.   of objects such as cubes, polygons, text, materials, cameras, lights,
  88.   trackballs, handle boxes, 3D viewers, and editors that speed up your
  89.   programming time and extend your 3D programming capabilities.
  90.  
  91.   Open Inventor: 
  92.       o is built on top of OpenGL 
  93.       o defines a standard file format for 3D data interchange 
  94.       o introduces a simple event model for 3D interaction 
  95.       o provides animation objects called Engines 
  96.       o provides high performance object picking 
  97.       o is window system and platform independent 
  98.       o supports PostScript printing 
  99.       o encourages programmers to create new customized objects 
  100.       o is fun to use 
  101.  
  102. ------------------------------
  103.  
  104. Subject:    -2- What is IRIS Inventor?
  105. Date: 30 Apr 94 15:45:00 CDT
  106.  
  107.   IRIS Inventor was the first release of Inventor; it is also known as
  108.   Inventor 1.0 (Open Inventor is Inventor 2.0). It is built on top of
  109.   IRIS GL rather than OpenGL, and has fewer features.
  110.  
  111. ------------------------------
  112.  
  113. Subject:    -3- Is Inventor a format for 3D data?
  114. Date: 30 Apr 94 15:45:00 CDT
  115.  
  116.   Inventor defines a powerful, extensible format for 3D objects and
  117.   scenes.  The Inventor format is the standard for 3D objects on
  118.   Silicon Graphics machines, and may become the standard for all
  119.   machines.
  120.  
  121.   However, Inventor is more than a 3D object file format; it is a
  122.   complete toolkit for writing interactive, 3D applications.
  123.  
  124. ------------------------------
  125.  
  126. Subject:    -4- Can I use Inventor to create 3D objects?
  127. Date: 30 Apr 94 15:45:00 CDT
  128.  
  129.   Inventor is for programmers writing 3D applications, and does not
  130.   directly provide any way for users to create 3D objects. Several
  131.   Inventor applications have been written that create 3D objects.
  132.  
  133.   Showcase 3.0, which is bundled with IRIX, is a fairly simple
  134.   example.  A much more sophisticated modeller called Movieola built on
  135.   top of Inventor is available from Radiance Software International.
  136.  
  137. ------------------------------
  138.  
  139. Subject:    -5- Is Inventor a user interface toolkit?
  140. Date: 30 Apr 94 15:45:00 CDT
  141.  
  142.   Yes and no. Inventor contains mostly 3D objects. There is little in
  143.   the way of conventional user interface objects such as buttons,
  144.   dialogs, and menus.  However, Inventor includes a full-fledged event
  145.   model, a framework designed for 2D or 3D user interaction, and some
  146.   manipulator objects for 3D user interface building. Note that the
  147.   Inventor Xt Component and Utility Library includes some traditional
  148.   2D user interface widgets.
  149.  
  150. ------------------------------
  151.  
  152. Subject:    -6- Is there a performance cost using a software layer on
  153.                 top of GL?
  154. Date: 30 Apr 94 15:45:00 CDT
  155.  
  156.   Sometimes. Note that few GL programs achieve peak graphics
  157.   performance. This is because most applications have natural
  158.   application overhead, and also because many programmers lack a
  159.   thorough understanding of the details and eccentricities of GL. If
  160.   you are writing a simple display-only, immediate-mode GL program,
  161.   then it will run faster using straight GL, but not much. However, if
  162.   your program has scene traversal, interactivity, picking, bounding
  163.   box calculations, and other object space tasks, then Inventor will
  164.   perform better for you. This is because Inventor is specially tuned
  165.   to make optimal use of GL on each SGI machine. Furthermore, Inventor
  166.   supports render caching which results in peak GL performance in most
  167.   cases.
  168.  
  169.   We have found that in many cases, Inventor programs run FASTER than
  170.   the original GL program, and that the programmer productivity
  171.   increases easily outweigh the overhead of the toolkit.
  172.  
  173. ------------------------------
  174.  
  175. Subject:    -7- Does Inventor require C++?
  176. Date: 30 Apr 94 15:45:00 CDT
  177.  
  178.   No. You can use the C API and never see or use C++. However,
  179.   subclassing to extend the toolkit does require C++.
  180.  
  181. ------------------------------
  182.  
  183. Subject:    -8- Does Inventor work with the GNU C++ compiler?
  184. Date: 30 Apr 94 15:45:00 CDT
  185.  
  186.   No, Inventor requires SGI's C++ compiler. The GNU C++ compiler and
  187.   SGI's C++ compiler produce incompatible code, and Silicon Graphics
  188.   does not ship an Inventor library compatible with GNU C++.
  189.  
  190. ------------------------------
  191.  
  192. Subject:    -9- Does Inventor have a Fortran or Ada API?
  193. Date: 30 Apr 94 15:45:00 CDT
  194.  
  195.   No. 
  196.  
  197. ------------------------------
  198.  
  199. Subject:   -10- Where can I get detailed, technical information on
  200.                 Inventor?
  201. Date: 30 Apr 94 15:45:00 CDT
  202.  
  203.   The Inventor Mentor, written by Josie Wernecke, is published by
  204.   Addison-Wesley and is available in technical bookstores (ISBN
  205.   0-201-62495-8).
  206.  
  207. ------------------------------
  208.  
  209. Subject:   -11- How much does Inventor cost?
  210. Date: 30 Apr 94 15:45:00 CDT
  211.  
  212.   If you want to write Inventor applications on SGI machines, you need
  213.   the Inventor developer's option. This option costs $995 for the Open
  214.   Inventor release and $495 for the IRIS Inventor releases. There are
  215.   no royalties for distributing applications based on Inventor.
  216.  
  217.   Every SGI machine is shipped with the libraries needed to run
  218.   Inventor applications (they are part of the inventor_eoe installation
  219.   subsystem); users that want to run Inventor applications on SGI
  220.   machines do not need to pay anything extra.
  221.  
  222. ------------------------------
  223.  
  224. Subject:   -12- How can I order Inventor software and/or documentation?
  225. Date: 30 Apr 94 15:45:00 CDT
  226.  
  227.   Call your local SGI sales representative or 1-800-800-7441 to order.
  228.  
  229. ------------------------------
  230.  
  231. Subject:   -13- How can I learn Inventor Programming?
  232. Date: 30 Apr 94 15:45:00 CDT
  233.  
  234.   SGI Technical Education offers a week-long course in Inventor
  235.   Programming.  Call 1-800-800-4SGI to sign up.
  236.  
  237. ------------------------------
  238.  
  239. Subject:   -14- What version of Open Inventor runs on which version of
  240.                 IRIX?
  241. Date: 30 Apr 94 15:45:00 CDT
  242.  
  243.   Inventor 2.0 runs on IRIX 5.2 and higher only. 
  244.  
  245. ------------------------------
  246.  
  247. Subject:   -15- Why isn't Open Inventor available on the VGX/PI/GTX or
  248.                 GT?
  249. Date: 30 Apr 94 15:45:00 CDT
  250.  
  251.   Open Inventor requires OpenGL, which is not currently available on
  252.   older SGI machines.
  253.  
  254. ------------------------------
  255.  
  256. Subject:   -16- What new features are in Open Inventor that weren't in
  257.                 IRIS Inventor?
  258. Date: 30 Apr 94 15:45:00 CDT
  259.  
  260.   Some of the main features that are new with Open Inventor are: 
  261.  
  262.      Open Inventor Licensing
  263.     Open Inventor 2.0 represents the first release of Inventor that
  264.     is licensed to third parties to run on other platforms (e.g.,
  265.     Sun, HP).
  266.      The Inventor Mentor and The Inventor Toolmaker
  267.     Since Open Inventor has been licensed to run on other
  268.     platforms, the programming guides have been published and
  269.     distributed by Addison-Wesley Publishing Company. The books are
  270.     typically available through bookstores that offer a good
  271.     technical book selection. The Inventor Mentor is volume I of
  272.     the programming guide and describes the fundamentals of
  273.     Inventor programming (ISBN 0-201-62495-8). The Inventor
  274.     Toolmaker is volume II and provides advanced information for
  275.     programmers who want to extend Inventor.
  276.      Automatic caching
  277.     Open Inventor supports intelligent, automatic caching on the
  278.     parts of the database that are not changing. Previously,
  279.     caching was either `on' or `off' (set at SoSeparator nodes).
  280.     Inventor 2.0 supports a third setting, `auto'. This
  281.     SIGNIFICANTLY improves performance and simplifies programming.
  282.      Error handling
  283.     Inventor now supports a formal error handling system. Note that
  284.     the API was not affected by this change. All Inventor error
  285.     messages are now posted to an SoError class. The application
  286.     can supply its own error handlers, thus making it possible to
  287.     route error messages to dialogs, as well as stderr or stdout.
  288.     All handlers are called by the SoError::handleError() method.
  289.     When debugging, you can set a breakpoint on this method to stop
  290.     right before an error is handled.
  291.      Geometry primitives and SoCallbackAction
  292.     A new feature has been added to the generic Inventor traversal
  293.     action, SoCallbackAction, that allows for shapes to return
  294.     primitives (triangles, lines, points, normals, texture coords,
  295.     etc.) describing the object.
  296.      Naming
  297.     Nodes, paths, and engines can have names (strings) associated
  298.     with them. There are methods on SoBase::setName() and getName()
  299.     to set/get names. To search for objects by name, see
  300.     SoNode::getByName(), SoPath::getByName(), and
  301.     SoEngine::getByName(). Also, the SoSearchAction can now search
  302.     based on the name.
  303.      OpenGL rendering
  304.     Open Inventor 2.0 uses OpenGL for all rendering; there are no
  305.     calls to Iris GL in Inventor 2.0. If you have written derived
  306.     node classes in 1.0, the Iris GL code must be re-written to
  307.     OpenGL.
  308.      Printing
  309.     Printing has been completely reimplemented using OpenGL
  310.     rendering to an off-screen image. All rendering features can
  311.     now be printed (e.g. textures and transparency).
  312.      Render Culling
  313.     Inventor now supports object level culling to the viewport.
  314.     Culling, like caching, is controlled by SoSeparators.
  315.      Unknown nodes
  316.     Inventor 2.0 reads unrecognized node classes from file and
  317.     attempts to use them. When an unknown class is read, Inventor
  318.     will search for an accompanying DSO file and use it, (uses
  319.     environment variable LD_LIBRARY_PATH to search for file
  320.     classname.so) If none is found, an SoUnknownNode or
  321.     SoUnknownEngine is created and used instead.
  322.  
  323.     Inventor 2.0 also supports a special option for nodes called
  324.     alternateRep. It can store a scene graph composed of standard
  325.     Inventor nodes which will be rendered as a stand-in for your
  326.     unrecognized node. During writing, the node or engine is
  327.     written back out. Note that this mechanism works only with
  328.     Inventor 2.0 files; unrecognized nodes in an Inventor 1.0 file
  329.     will still generate a read error. This mechanism allows user
  330.     subclassed nodes to be exportable, renderable, and re- usable.
  331.      SoEngine
  332.     A new class of objects used for animation and behavior.
  333.     Engines are lightweight objects that are connected between
  334.     nodes, the clock, and other engines to form interesting
  335.     behaviorial objects (e.g. spinning windmill). Engines can be
  336.     written to file along with the 3d scene.
  337.  
  338. ------------------------------
  339.  
  340. Subject:   -17- Will my IRIS Inventor programs stop working if I install
  341.                 Open Inventor?
  342. Date: 30 Apr 94 15:45:00 CDT
  343.  
  344.   No. The Inventor 2.0 run-time system (inventor_eoe) contains a
  345.   complete set of compatibility libraries that will allow existing IRIS
  346.   Inventor applications to continue to work. If necessary, it is
  347.   possible to install both the Inventor 2.0 and Inventor 1.1.2
  348.   development environments on the same machine; see the Inventor 2.0
  349.   release notes for details.
  350.  
  351. ------------------------------
  352.  
  353. Subject:   -18- How hard is it to port from IRIS Inventor to Open
  354.                 Inventor?
  355. Date: 30 Apr 94 15:45:00 CDT
  356.  
  357.   Most Inventor programs will be fairly easy to port. The Inventor 2.0
  358.   release notes contain detailed information on converting your
  359.   application. Most of your porting job will be fixing minor syntax
  360.   changes (e.g. some length() methods were renamed getLength() for
  361.   consistency with the rest of the toolkit) and fixing #include lines
  362.   for files under /usr/include/Inventor that were moved around (e.g.
  363.   all of the Xt components are now under /usr/include/Inventor/Xt).
  364.  
  365.   Inventor programs that contain a lot of IRIS GL code or that made
  366.   extensive use of Inventor subclassing will be more difficult to port,
  367.   since they will have to be ported to OpenGL and since the internal
  368.   structure of Inventor underwent some major changes.
  369.  
  370. ------------------------------
  371.  
  372. Subject:   -19- When I compile my Inventor program, I get an error in
  373.                 SoDebugError.h.
  374. Date: 30 Apr 94 15:45:00 CDT
  375.  
  376.   You, or something you #include, are #include'ing the IRIS GL header
  377.   file (gl/gl.h). It does: "#define WARNING 2", which conflicts with
  378.   the enum value called "WARNING" in SoDebugError. You cannot mix Open
  379.   Inventor with IRIS GL anyway (because you cannot mix OpenGL with IRIS
  380.   GL), so you should fix your program so it doesn't try to #include
  381.   <gl/gl.h> it should use <GL/gl.h> the OpenGL include file.
  382.  
  383. ------------------------------
  384.  
  385. Subject:   -20- What version of IRIS Inventor runs on which version of
  386.                 IRIX?
  387. Date: 30 Apr 94 15:45:00 CDT
  388.  
  389.   IRIX      IRIS Inventor Version
  390.   --------------------------------
  391.   3.3.*   | (Inventor is not available for IRIX 3.*)
  392.   4.0.*   | 1.0.1
  393.   5.0.1   | (bad release... do not use)
  394.   5.1.*   | 1.1.2
  395.   5.2.*   | Open Inventor 2.0 (1.1.2 on VGX/GTX/GT/PI)
  396.  
  397. ------------------------------
  398.  
  399. Subject:   -21- Will I be automatically upgraded to Open Inventor if I
  400.                 have IRIS Inventor?
  401. Date: 30 Apr 94 15:45:00 CDT
  402.  
  403.   Customers with software maintenance contracts that have purchased the
  404.   Inventor 1.0 developer's option will receive the Inventor 2.0
  405.   developer's option when they receive IRIX 5.2.
  406.  
  407. ------------------------------
  408.  
  409. Subject:   -22- Why do I get errors compiling the Inventor sample
  410.                 programs?
  411. Date: 30 Apr 94 15:45:00 CDT
  412.  
  413.   Inventor 1.0.1 requires C++ version 2.*. If you have C++ version 3.*
  414.   installed on your system, you must specify the -v2 flag to compile
  415.   Inventor programs.
  416.  
  417.   Inventor 1.1.2 and Inventor 2.0 work with C++ 3.*.
  418.  
  419. ------------------------------
  420.  
  421. End of sgi/faq/inventor Digest
  422. ******************************
  423. -- 
  424. The SGI FAQ group                                sgi-faq@viz.tamu.edu
  425. Finger us for info on the SGI FAQs, or look in viz.tamu.edu:/pub/sgi.
  426.  
  427.